//
//  UIImage+Category.h
//  VICategory
//
//  Created by MN on 2022/6/28.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN


@interface UIImage (Category)

/// 画虚线
/// @param imageSize imageSize
/// @param color color
+ (UIImage *)vi_drawLine:(CGSize)imageSize color:(UIColor *)color;

/// 获取bundle的图片
/// @param imageName 图片的名字
/// @param bundleName bundle的名字
/// @param targetClass bundle所在模块的任一类名
+ (instancetype)vi_imageWithName:(NSString *)imageName
                      bundleName:(NSString *)bundleName
                     targetClass:(Class)targetClass;


/// 对图片尺寸进行对图片
- (UIImage *)vi_compressedImage;

/// 对图片对图片
/// @param maxLength 最大的大小，字节
- (UIImage *)vi_compressedImageToMaxByte:(NSInteger)maxLength;

/// 给图片添加文字水印 默认左上角日期水印，右下角门店水印
/// @param timeText 日期
/// @param storeName 门店
- (UIImage *)vi_addWaterWithTimeText:(NSString *)timeText
                           storeName:(NSString *)storeName;
/// 给图片添加文字水印
/// @param timeText 日期
/// @param timePoint 日期位置
/// @param storeName 门店
/// @param storePoint 门店位置
- (UIImage *)vi_addWaterWithTimeText:(NSString *)timeText
                           timePoint:(CGPoint)timePoint
                           storeName:(NSString *)storeName
                          storePoint:(CGPoint)storePoint;
/// image切圆角
/// @param radius 圆角
/// @param size imageView的大小
- (UIImage *)vi_radius:(CGFloat)radius size:(CGSize)size;


/// 图片按给定的宽高缩放
/// @param scale 比例
- (UIImage *)imageCompressScale:(CGFloat)scale;

/**
 *  从图片中按指定的位置大小截取图片的一部分
 *
 *  @param image UIImage image 原始的图片
 *  @param rect  CGRect rect 要截取的区域
 *
 *  @return UIImage
 */

- (UIImage *)vi_imageFromImage:(UIImage *)image inRect:(CGRect)rect;
@end

NS_ASSUME_NONNULL_END
